package cn.wolfcode.trip.base.domain;

import cn.wolfcode.trip.base.util.JSONUtil;
import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.Map;

//地区管理
@Setter
@Getter
public class Region {
    public static final Integer STATE_NORMAl = 0 ;//不推荐
    public static final Integer STATE_HOT = 1 ;//推荐
    private Long id; //id
    private String name;//地区名字
    private Region parent;//父地区
    //必须给默认值,不然空指针
    private Integer state = STATE_NORMAl;//状态


    public String getStateDisplay(){
        if (state == STATE_NORMAl){
            return "不推荐";
        }else {
            return "推荐";
        }
    }
    //treeview数据的转换
    public Map<String,Object> getString2Map(){
        HashMap<String, Object> map = new HashMap<>();
        map.put("text",name);
        map.put("id",id);
        //如果没有子节点的时候,不应该设置+号图标
        map.put("lazyLoad",true);
        if (state==STATE_HOT){
            //如果是1,则为推荐
            map.put("tags",new String[]{"推荐"});
        }

        //因为共享的数据是map,所有回显的时候,
        map.put("json",map2Json());
        return map;
    }
    public String map2Json(){
        Map<String,Object> map = new HashMap();
        //如果父地区存在再设置返回,不然会报空指针异常
        if (parent!=null){
            map.put("pname",parent.getName());
            map.put("pid",parent.getId());
        }
        map.put("id",id);
        map.put("name",getName());
        map.put("state",state);
        return JSONUtil.toJSONString(map);
    }

}